package org.example.Soution003;

import java.util.Arrays;

public class MDDPLongestCommonSonString {
    public static void main(String[] args) {
        MDDPLongestCommonSonString mddp = new MDDPLongestCommonSonString();
        String s1="abcde";
        String s2="acdcbe";
        System.out.println(mddp.longestCommonSubsequence(s1,s2));
    }

    public int longestCommonSubsequence(String text1, String text2) {
        int n = text1.length(); int m = text2.length();
        int[][] dp = new int[n+1][m+1];
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                if(text1.charAt(i) == text2.charAt(j)){
                    dp[i+1][j+1] = dp[i][j] + 1;
                }else{
                    dp[i+1][j+1] = Math.max(dp[i][j+1], dp[i+1][j]);
                }
            }
        }
        return dp[n][m];
    }
}
